import random

# 作业1:计算器小程序
# 假设你正在写一个简单的计算器程序,可以让用户输入两个数字和一个操作符,然后输出计算结果。
# 你需要使用分支循环语句来实现这个程序假设操作符可以是加号、减号、乘号或除号,
# 你的程序需要根据用户输入的操作符执行相应的计算操作,并输出计算结果。如果用户输入的操作符不是加号、减号、乘号或除号,
# 则输出错误信息并让用户重新输入。
while True:
    num1 = float(input("请输入第一个数字："))
    num2 = float(input("请输入第二个数字："))
    operator = input("请输入操作符（加号：+，减号：-，乘号：*，除号：/）：")
    if operator == "+":
        print("计算结果：", num1 + num2)
        break
    elif operator == "-":
        print("计算结果：", num1 - num2)
        break
    elif operator == "*":
        print("计算结果：", num1 * num2)
        break
    elif operator == "/":
        if num2 != 0:
            print("计算结果：", num1 / num2)
            break
        else:
            print("除数不能为0，请重新输入")
    else:
        print("输入的操作符有误，请重新输入")

# 作业2:存款翻倍计算
# 计算初始本金为1万,年利率为0.0325的情况下,需要多少年才能将本金和利
# 息翻倍,即本金和利息的总和达到原来的两倍。
principal = 10000
interest_rate = 0.0325
years = 0
new_principle = principal * 2
while principal < new_principle:
    principal *= (1 + interest_rate)
    years += 1

print("需要", years, "年才能将本金和利息翻倍")

# 作业3:猜年龄游戏,猜一下alex老师女朋友的个数
# 1.首先,程序使用random.randint()函数产生一个1~10之间的随机数。
# 2.然后,程序通过for循环提示玩家输入一个猜测的数字,玩家可以输入一
# 个1~10之间的整数。
# 3.如果玩家猜对了数字,程序输出恭喜玩家的信息并结束游戏如果玩家猜
# 错了,程序会根据玩家输入的数字与随机数之间的大小关系来是示玩家是
# 否猜对,并在每次猜错后告诉玩家还剩下几次机会。
# 4.如果玩家在三次机会内猜对了数字,程序输出恭喜玩家的信息并结束游
# 戏;否则程序输出很遗憾的信息并结束游戏。

# 生成1~10之间的随机数
target_age = random.randint(1, 10)
chances = 3

# 提示玩家输入猜测的数字，并判断是否猜对
for _ in range(chances):
    guess = int(input("请猜一下Alex老师女朋友的个数（1~10之间的整数）："))
    if guess == target_age:
        print("恭喜你猜对了！Alex老师的女朋友个数确实是", target_age)
        break
    else:
        chances -= 1
        if chances > 0:
            print("很遗憾，你猜错了。你还有", chances, "次机会")
        else:
            print("很遗憾，你没有猜对。正确答案是", target_age)

# 作业4:格子方阵
# 编写一个Python程序,输出一个nxn的方阵,其中第i行第j列的格子中应该填
# 写i+j的结果。
# 要求:
# 输入n的值,保证是一个正整数。
# 要求输出的方阵中每个格子的宽度都为4个字符,格子之间用制表符分
# 隔。
# 输出的方阵中每行的末尾不能有多余的制表符。
# 输出的方阵中每行的末尾必须有一个换行符。
def print_grid(n):
    for i in range(1, n+1):
        for j in range(1, n+1):
            if j < n:
                print("{:<4}".format(i+j), end="\t")
            else:
                print("{:<4}".format(i+j))

n = int(input("请输入一个正整数n: "))
print_grid(n)




